part of "../factory.dart";

/// 代表快递服务商，之所以做成抽象类，是希望使用的时候可以直接调用抽象类从而实现解耦
/// 以后如果换快递了，我只要修改快递函数就可以了，无需更改其他代码
abstract class ShippingService {
  /// 发往任意一个省份、任意重量都可以计算出价格
  /// 如果有任何问题，都通过Bug的形式throw出来
  double calcPrice(String province, double weightKg);
}
